2025년 3분기 2급 관리자 지원 및 2025년 3분기 대문 사진 공모를 받고 있습니다.
the tree/설치 방법/Termux(r8 Blame)
r8 | ||
---|---|---|
r1 (새 문서) | 1 | [[분류:the tree]] |
2 | [include(틀:상위 문서, 문서=the tree)] | |
3 | [목차] | |
4 | == 시작하기 전에 == | |
5 | Termux를 사용하기에 당연히 Android 여야하며, 이하 조건을 만족해야 정상적인 구동이 가능하다. 또한 포트포워딩이 필수이지만, 불가능할 경우 ngrok 을 사용해야한다. | |
6 | ||
7 | * Android 9 이상[* 다를수도 있으나 Termux 최소 지원 버전을 만족해야한다.] | |
r4 | 8 | * 4GB 이상의 메모리 용량[* 더 적어도 상관은 없으나 안정성은 책임지지 않는다.] |
9 | * 최소 8GB 이상의 여유 디스크 용량[* Termux proot, 일부 패키지, db 등을 어림잡아 계산.] | |
r1 (새 문서) | 10 | |
r7 | 11 | 또한 Android 12 이상일 경우, 특정 프로세스의 자식 프로세스 개수가 최대에 도달할 경우 강제 종료하는 기능이 있어, 해당 기능을 비활성화해야한다. [[https://blex.me/@baealex/how-to-fix-termux-process-completed-signal-9|#]] |
r1 (새 문서) | 12 | |
13 | == 시작 == | |
14 | === proot === | |
15 | Termux 자체는 완전한 Linux 가 아니기 때문에 proot 를 설치하는것이 권장된다. | |
16 | {{{pkg update -y && pkg install wget curl proot tar -y && wget https://raw.githubusercontent.com/AndronixApp/AndronixOrigin/master/Installer/Ubuntu22/ubuntu22-xfce.sh -O ubuntu22-xfce.sh && chmod +x ubuntu22-xfce.sh && bash ubuntu22-xfce.sh | |
17 | }}} | |
r2 | 18 | |
19 | 이후 proot 환경에 접속하려면 './start-ubuntu22.sh'를 입력하면 된다. | |
r1 (새 문서) | 20 | === 패키지 설치 === |
21 | 패키지 | |
r5 | 22 | {{{apt install nano wget curl git python3 |
r1 (새 문서) | 23 | }}} |
24 | Node.js 22 arm64 설치 | |
25 | {{{apt-get uninstall nodejs | |
26 | wget "https://nodejs.org/dist/v22.11.0/node-v22.11.0-linux-arm64.tar.gz" | |
27 | tar -xvf "node-v22.11.0-linux-arm64.tar.gz" | |
28 | cp "node-v22.11.0-linux-arm64" "/etc/node22.11.0" -r | |
29 | ln -s "/etc/node22.11.0/bin/node" /usr/bin/node | |
30 | ln -s "/etc/node22.11.0/bin/npm" /usr/bin/npm | |
31 | }}} | |
32 | mongodb 설치 | |
33 | {{{apt-get install gnupg | |
34 | curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \ | |
35 | gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \ | |
36 | --dearmor | |
37 | echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-8.0.list | |
38 | apt-get update | |
39 | apt-get install -y mongodb-org}}} | |
r8 | 40 | 'mongod' 를 입력했을 경우, illegal instruction 이 뜬다면 하위 illegal instruction 문단을 확인하길 바란다. |
r1 (새 문서) | 41 | |
42 | nginx 설치[* https 지원을 위해 필요] | |
43 | {{{apt-get install nginx | |
r5 | 44 | }}} |
45 | ||
46 | === 설치 === | |
47 | 아래 과정은 [[the tree/설치 방법]] 또는 [[the tree/위키 구축]] 과 비슷할수도 있으니 참고바란다. | |
48 | ||
49 | 더트리 clone | |
r6 | 50 | {{{git clone https://github.com/wjdgustn/thetree --recurse-submodules |
r5 | 51 | cd thetree}}} |
52 | 이후 nano 등 편집기를 이용해서 .env[* Android 는 1000번 이하 포트를 열지 못하게 하기 때문에 80 443 등의 포트가 아닌 8080, 8443 등으로 바꾸기를 추천한다.], publicConfig.json, stringConfig.json, serverConfig.json, devConfig.json 을 채워넣는다. | |
53 | ||
54 | node.js 모듈 설치 | |
r6 | 55 | {{{npm i |
56 | }}} | |
r5 | 57 | meilisearch 설치 |
r6 | 58 | {{{curl -L https://install.meilisearch.com | sh |
59 | }}} | |
r8 | 60 | == 실행 == |
61 | Termux 는 여러 창을 킬수 있기 때문에 각 창마다 해당 프로그램을 실행시키면 된다.[* 화면 왼쪽 측면을 스와이프-New Session] | |
62 | === mongodb === | |
63 | Proot 환경이기 때문에 오류가 날수도 있어서 dbpath 를 지정해주는 것이 좋다. | |
64 | ||
65 | thetree 폴더에서 | |
66 | {{{ | |
67 | mkdir DB | |
68 | mongod --dbpath DB}}} | |
69 | 'mongod --dbpath DB' 는 mongodb를 실행하니 명령어이니 꺼졌을때 다시 입력하기만 하면 된다. | |
70 | ==== illegal instruction ==== | |
71 | 해당 오류가 발생할 경우, Proot 가 아닌 Termux 에서 아래 명령어를 실행시켜 설치한다. | |
72 | {{{wget https://its-pointless.github.io/setup-pointless-repo.sh | |
73 | sh setup-pointless-repo.sh | |
74 | pkg upgrade && pkg update | |
75 | pkg install mongodb | |
76 | mkdir -p $PREFIX/data/db | |
77 | mkdir $PREFIX/var/log/mongodb | |
78 | touch $PREFIX/var/log/mongodb/mongodb.log}}} | |
79 | 이후 똑같이 mongod 를 실행하면 된다. | |
80 | === meilisearch === | |
81 | 호환성에는 문제가 없기 때문에 아래 명령어로 실행할 수 있다. | |
82 | {{{./meilisearch --master-key="aSampleMasterKey" | |
83 | }}} |